package com.wetao.lib_common.bean.response;

import com.google.gson.Gson;
import com.wetao.lib_common.base.Base2Response;

import java.io.Serializable;
import java.util.List;

/**
 * author: zhouyh
 * created on: 2021/6/10 9:00 下午
 * description:
 */

public class StudentExamListInfo extends Base2Response implements Serializable {


    /**
     * data : {"records":[{"examName":"集合的含义与表示","examPublishId":3087,"studentExamId":23617,"examId":7715,"answerAmount":0,"totalQuestion":11,"answerTimeStart":"2021-06-10 17:32:15","answerTimeEnd":"2021-06-13 17:32:15","finishTime":null,"limitTime":null,"readState":1},{"examName":"一．阅读理解(核心素养:语言能力)","examPublishId":2408,"studentExamId":22303,"examId":7927,"answerAmount":0,"totalQuestion":7,"answerTimeStart":"2021-03-23 09:28:13","answerTimeEnd":"2021-03-26 09:28:13","finishTime":null,"limitTime":null,"readState":1},{"examName":"金太阳单元卷-第二套 Unit 2 Healthy eating","examPublishId":2407,"studentExamId":22271,"examId":7926,"answerAmount":0,"totalQuestion":59,"answerTimeStart":"2021-03-23 09:26:00","answerTimeEnd":"2021-03-26 09:26:00","finishTime":null,"limitTime":null,"readState":1},{"examName":"Section Ⅳ Reading &amp; Writing - 固学案","examPublishId":2405,"studentExamId":22238,"examId":7915,"answerAmount":0,"totalQuestion":16,"answerTimeStart":"2021-03-22 16:26:53","answerTimeEnd":"2021-03-25 16:26:53","finishTime":null,"limitTime":null,"readState":1},{"examName":"第2课时 集合间的基本关系","examPublishId":2397,"studentExamId":22191,"examId":7898,"answerAmount":0,"totalQuestion":11,"answerTimeStart":"2021-03-19 15:44:33","answerTimeEnd":"2021-03-22 15:44:33","finishTime":null,"limitTime":null,"readState":1},{"examName":"§2 角的概念的推广多选题","examPublishId":2382,"studentExamId":22144,"examId":7868,"answerAmount":0,"totalQuestion":12,"answerTimeStart":"2021-03-18 10:23:46","answerTimeEnd":"2021-03-21 10:23:46","finishTime":null,"limitTime":null,"readState":1},{"examName":"必修4综合测试卷","examPublishId":2057,"studentExamId":21289,"examId":7643,"answerAmount":0,"totalQuestion":22,"answerTimeStart":"2021-02-02 14:20:44","answerTimeEnd":"2021-02-05 14:20:44","finishTime":null,"limitTime":null,"readState":1},{"examName":"考法1：三角函数的图象判断及变换","examPublishId":2046,"studentExamId":21213,"examId":7635,"answerAmount":0,"totalQuestion":17,"answerTimeStart":"2021-02-01 09:35:27","answerTimeEnd":"2021-02-04 09:35:27","finishTime":null,"limitTime":null,"readState":1},{"examName":"图片收集","examPublishId":2033,"studentExamId":21155,"examId":7629,"answerAmount":0,"totalQuestion":13,"answerTimeStart":"2021-01-29 11:39:51","answerTimeEnd":"2021-02-01 11:39:51","finishTime":null,"limitTime":null,"readState":1},{"examName":"§2 角的概念的推广","examPublishId":2019,"studentExamId":21113,"examId":7622,"answerAmount":0,"totalQuestion":12,"answerTimeStart":"2021-01-28 17:43:26","answerTimeEnd":"2021-01-31 17:43:26","finishTime":null,"limitTime":null,"readState":1}],"total":14,"size":10,"current":1,"pages":2}
     */

    private Data data;

    public Data getData() {
        return data;
    }

    public static StudentExamListInfo objectFromData(String str) {

        return new Gson().fromJson(str, StudentExamListInfo.class);
    }

    
    public static class Data implements Serializable {
        /**
         * records : [{"examName":"集合的含义与表示","examPublishId":3087,"studentExamId":23617,"examId":7715,"answerAmount":0,"totalQuestion":11,"answerTimeStart":"2021-06-10 17:32:15","answerTimeEnd":"2021-06-13 17:32:15","finishTime":null,"limitTime":null,"readState":1},{"examName":"一．阅读理解(核心素养:语言能力)","examPublishId":2408,"studentExamId":22303,"examId":7927,"answerAmount":0,"totalQuestion":7,"answerTimeStart":"2021-03-23 09:28:13","answerTimeEnd":"2021-03-26 09:28:13","finishTime":null,"limitTime":null,"readState":1},{"examName":"金太阳单元卷-第二套 Unit 2 Healthy eating","examPublishId":2407,"studentExamId":22271,"examId":7926,"answerAmount":0,"totalQuestion":59,"answerTimeStart":"2021-03-23 09:26:00","answerTimeEnd":"2021-03-26 09:26:00","finishTime":null,"limitTime":null,"readState":1},{"examName":"Section Ⅳ Reading &amp; Writing - 固学案","examPublishId":2405,"studentExamId":22238,"examId":7915,"answerAmount":0,"totalQuestion":16,"answerTimeStart":"2021-03-22 16:26:53","answerTimeEnd":"2021-03-25 16:26:53","finishTime":null,"limitTime":null,"readState":1},{"examName":"第2课时 集合间的基本关系","examPublishId":2397,"studentExamId":22191,"examId":7898,"answerAmount":0,"totalQuestion":11,"answerTimeStart":"2021-03-19 15:44:33","answerTimeEnd":"2021-03-22 15:44:33","finishTime":null,"limitTime":null,"readState":1},{"examName":"§2 角的概念的推广多选题","examPublishId":2382,"studentExamId":22144,"examId":7868,"answerAmount":0,"totalQuestion":12,"answerTimeStart":"2021-03-18 10:23:46","answerTimeEnd":"2021-03-21 10:23:46","finishTime":null,"limitTime":null,"readState":1},{"examName":"必修4综合测试卷","examPublishId":2057,"studentExamId":21289,"examId":7643,"answerAmount":0,"totalQuestion":22,"answerTimeStart":"2021-02-02 14:20:44","answerTimeEnd":"2021-02-05 14:20:44","finishTime":null,"limitTime":null,"readState":1},{"examName":"考法1：三角函数的图象判断及变换","examPublishId":2046,"studentExamId":21213,"examId":7635,"answerAmount":0,"totalQuestion":17,"answerTimeStart":"2021-02-01 09:35:27","answerTimeEnd":"2021-02-04 09:35:27","finishTime":null,"limitTime":null,"readState":1},{"examName":"图片收集","examPublishId":2033,"studentExamId":21155,"examId":7629,"answerAmount":0,"totalQuestion":13,"answerTimeStart":"2021-01-29 11:39:51","answerTimeEnd":"2021-02-01 11:39:51","finishTime":null,"limitTime":null,"readState":1},{"examName":"§2 角的概念的推广","examPublishId":2019,"studentExamId":21113,"examId":7622,"answerAmount":0,"totalQuestion":12,"answerTimeStart":"2021-01-28 17:43:26","answerTimeEnd":"2021-01-31 17:43:26","finishTime":null,"limitTime":null,"readState":1}]
         * total : 14
         * size : 10
         * current : 1
         * pages : 2
         */

        private Integer total;
        private Integer size;
        private Integer current;
        private Integer pages;
        private List<RecordsBean> records;

        public static Data objectFromData(String str) {

            return new Gson().fromJson(str, Data.class);
        }

        public Integer getTotal() {
            return total;
        }

        public void setTotal(Integer total) {
            this.total = total;
        }

        public Integer getSize() {
            return size;
        }

        public void setSize(Integer size) {
            this.size = size;
        }

        public Integer getCurrent() {
            return current;
        }

        public void setCurrent(Integer current) {
            this.current = current;
        }

        public Integer getPages() {
            return pages;
        }

        public void setPages(Integer pages) {
            this.pages = pages;
        }

        public List<RecordsBean> getRecords() {
            return records;
        }

        public void setRecords(List<RecordsBean> records) {
            this.records = records;
        }

        public static class RecordsBean implements Serializable {
            /**
             * examName : 集合的含义与表示
             * examPublishId : 3087
             * studentExamId : 23617
             * examId : 7715
             * answerAmount : 0
             * totalQuestion : 11
             * answerTimeStart : 2021-06-10 17:32:15
             * answerTimeEnd : 2021-06-13 17:32:15
             * finishTime : null
             * limitTime : null
             * readState : 1
             * subjectName:学科名
             */

            private String examName;
            private String subjectName;
            private Integer examPublishId;
            private Integer studentExamId;
            private Integer examId;
            private Integer answerAmount;
            private Integer totalQuestion;
            private String answerTimeStart;
            private String answerTimeEnd;
            private Object finishTime;
            private Object limitTime;
            private Integer readState; //1:未批阅 2:已批阅
            private Integer state;//0:未开始 1:可进入考试 3:考试已结束

            public static RecordsBean objectFromData(String str) {

                return new Gson().fromJson(str, RecordsBean.class);
            }

            public String getExamName() {
                return examName;
            }

            public void setExamName(String examName) {
                this.examName = examName;
            }

            public String getSubjectName() {
                return subjectName;
            }

            public void setSubjectName(String subjectName) {
                this.subjectName = subjectName;
            }

            public Integer getExamPublishId() {
                return examPublishId;
            }

            public void setExamPublishId(Integer examPublishId) {
                this.examPublishId = examPublishId;
            }

            public Integer getStudentExamId() {
                return studentExamId;
            }

            public void setStudentExamId(Integer studentExamId) {
                this.studentExamId = studentExamId;
            }

            public Integer getExamId() {
                return examId;
            }

            public void setExamId(Integer examId) {
                this.examId = examId;
            }

            public Integer getAnswerAmount() {
                return answerAmount;
            }

            public void setAnswerAmount(Integer answerAmount) {
                this.answerAmount = answerAmount;
            }

            public Integer getTotalQuestion() {
                return totalQuestion;
            }

            public void setTotalQuestion(Integer totalQuestion) {
                this.totalQuestion = totalQuestion;
            }

            public String getAnswerTimeStart() {
                return answerTimeStart;
            }

            public void setAnswerTimeStart(String answerTimeStart) {
                this.answerTimeStart = answerTimeStart;
            }

            public String getAnswerTimeEnd() {
                return answerTimeEnd;
            }

            public void setAnswerTimeEnd(String answerTimeEnd) {
                this.answerTimeEnd = answerTimeEnd;
            }

            public Object getFinishTime() {
                return finishTime;
            }

            public void setFinishTime(Object finishTime) {
                this.finishTime = finishTime;
            }

            public Object getLimitTime() {
                return limitTime;
            }

            public void setLimitTime(Object limitTime) {
                this.limitTime = limitTime;
            }

            public Integer getReadState() {
                return readState;
            }

            public void setReadState(Integer readState) {
                this.readState = readState;
            }

            public Integer getState() {
                return state;
            }

            public void setState(Integer state) {
                this.state = state;
            }
        }
    }
}
